namespace MultiAgentsClient.ChatDataStructures;

public interface MentionableItemHighlight<TDisp>
{
    public int Id { get; }
    public string Name { get; }
    public bool IsHighlight { get; }

    public TDisp SetHighlight(bool isHighlight);
}


public partial record AgentDisp(int Id, string Name, bool IsHighlight) : MentionableItemHighlight<AgentDisp>
{
    public AgentDisp SetHighlight(bool isHighlight)
    {
        return this with
        {
            IsHighlight = isHighlight
        };
    }
}

public partial record WorkflowDisp(int Id, string Name, bool IsHighlight) : MentionableItemHighlight<WorkflowDisp>
{
    public WorkflowDisp SetHighlight(bool isHighlight)
    {
        return this with
        {
            IsHighlight = isHighlight
        };
    }
}

